Conversation
| login_resp = login_courier(login_pass[0], login_pass[1]) | ||
| courier_id = login_resp.json()["id"] | ||
| yield {"login": login_pass[0], "password": login_pass[1], "id": courier_id} | ||
| delete_courier(courier_id) |
There was a problem hiding this comment.
Отлично: база очищается после тестирования
tests/test_courier_creation.py
Outdated
|
|
||
| @allure.title("Успешное создание курьера через фикстуру") | ||
| @allure.step("Тест успешного создания курьера через фикстуру") | ||
| def test_create_courier_success(self, courier): |
There was a problem hiding this comment.
Нужно исправить: единственный шаг этого теста - фикстура. Мы не тестируем фикстуры, если предполагаешь что фикстура нерабочая, то как можно строить на неё другие тесты? Фикстура - это предусловие теста, состояние системы. Она не должна заменять шаги теста
tests/test_courier_creation.py
Outdated
| assert response.status_code == 201 | ||
| assert response.json() == {"ok": True} | ||
|
|
||
| login_resp = requests.post(Urls.LOGIN_COURIER, data={ |
There was a problem hiding this comment.
Нужно исправить: есть фикстура для удаления курьеров, нужно везде использовать один и тот же подход к проектированию
tests/test_order_creation.py
Outdated
| @allure.step("Тест создания заказа: {description}") | ||
| def test_create_order_with_colors(self, color, description, cleanup_order): | ||
| order_data = BASE_ORDER_DATA.copy() | ||
| if color: |
There was a problem hiding this comment.
Нужно исправить: в тестах мы не хотим иметь ветвлений, мы стремимся создать линейные предсказуемые сценарии
tests/test_orders_list.py
Outdated
| assert "orders" in response_json, "В ответе должно быть поле 'orders'" | ||
| assert isinstance(response_json["orders"], list), "Поле 'orders' должно быть списком" | ||
|
|
||
| if response_json["orders"]: |
tests/test_courier_creation.py
Outdated
| assert response.json() == {"ok": True} | ||
|
|
||
| # Проверяем, что курьер может авторизоваться | ||
| login_response = login_courier(payload["login"], payload["password"]) |
There was a problem hiding this comment.
нужно исправить: тест неатомарный, после ассерта не должно быть новых шагов и ассертов, в каждом тесте проверяем что-то одно
tests/test_courier_creation.py
Outdated
| assert response.json() == {"ok": True} | ||
|
|
||
| # Проверяем, что курьер может авторизоваться | ||
| login_response = login_courier(payload["login"], payload["password"]) |
There was a problem hiding this comment.
Нужно исправить: тест неатомарный, в каждом тесте тестируем одно состояние системы - например успех создания курьера ИЛИ возможность авторизации такого курьера. после ассерта не должно быть других шагов и новых ассертов.
В сценарии просили проверить возможность создания
tests/test_courier_creation.py
Outdated
| assert response.json() == {"ok": True} | ||
|
|
||
| # Проверяем, что курьер может авторизоваться | ||
| login_response = login_courier(payload["login"], payload["password"]) |
tests/test_courier_creation.py
Outdated
| assert response.json() == {"ok": True} | ||
|
|
||
| # Проверяем, что курьер может авторизоваться | ||
| login_response = login_courier(payload["login"], payload["password"]) |
There was a problem hiding this comment.
Нужно исправить: тест неатомарный, в каждом тесте тестируем одно состояние системы - например успех создания курьера ИЛИ возможность авторизации такого курьера. после ассерта не должно быть других шагов и новых ассертов.
В сценарии просили проверить возможность создания
tests/test_courier_creation.py
Outdated
| assert response.status_code == 201 | ||
| assert response.json() == {"ok": True} | ||
|
|
||
| login_response = login_courier(random_courier_data["login"], random_courier_data["password"]) |
No description provided.